package com.manage.platform.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.List;

/**
 * @author lk
 */
@Accessors(chain = true)
@Data
public class UserVo implements Serializable {

    @Schema(description = "用户ID")
    private Long id;

    @Schema(description = "角色ID")
    private Long roleId;

    @Schema(description = "角色名称")
    private String roleName;

    @Schema(description = "所属部门ID-集合")
    private List<Long> departmentId;

    @Schema(description = "所属部门名称-集合")
    private List<String> departmentName;

    @Schema(description = "职称ID")
    private Long professionalId;

    @Schema(description = "职称名称")
    private String professionalName;

    @Schema(description = "岗位ID")
    private Long positionId;

    @Schema(description = "岗位名称")
    private String positionName;

    @Schema(description = "用户名")
    private String userName;

//    @Schema(description = "密码(加密存储)")
//    private String password;

    @Schema(description = "真实姓名")
    private String realName;

    @Schema(description = "性别(0=未知,1=男,2=女)")
    private Integer gender;

    @Schema(description = "教职工工号")
    private String employeeId;

    @Schema(description = "出生日期")
    private String birthDate;

    @Schema(description = "入职日期")
    private String joinDate;

    @Schema(description = "学历")
    private String education;

    @Schema(description = "学位")
    private String degree;

    @Schema(description = "办公电话")
    private String telephone;

    @Schema(description = "手机号")
    private String phone;

    @Schema(description = "传真")
    private String fax;

    @Schema(description = "电子邮箱")
    private String email;

    @Schema(description = "身份证号")
    private String idCard;

    @Schema(description = "头像URL")
    private String avatar;

    /* =============== 扩展信息 =============== */
    @Schema(description = "政治面貌")
    private String political;

    @Schema(description = "民族")
    private String nation;

    @Schema(description = "专业领域")
    private String professionalField;

    @Schema(description = "人员类别")
    private String personnelType;

    @Schema(description = "是否拥有高校教师资格证书(0=否,1=是)")
    private Integer isUniversityCertificate;

    @Schema(description = "专业技术职务")
    private String technicalPosition;

    @Schema(description = "职业资格证书名称")
    private String professionalCertificate;

    @Schema(description = "是否为专业教师(0=否,1=是)")
    private Integer isProfessionalTeacher;

    @Schema(description = "是否为公共课教师(0=否,1=是)")
    private Integer isPublicTeacher;

    @Schema(description = "所任公共课程")
    private String publicCourse;

    @Schema(description = "是否为双师型教师(0=否,1=是)")
    private Integer isDoubleTeacher;

    @Schema(description = "教学名师等级")
    private String teacherMasterLevel;

    @Schema(description = "是否专职思政课教师(0=否,1=是)")
    private Integer isSpecialPoliticalTeacher;

    @Schema(description = "是否兼职思政课教师(0=否,1=是)")
    private Integer isPartPoliticalTeacher;

    @Schema(description = "是否专职辅导员(0=否,1=是)")
    private Integer isSpecialInstructor;

    @Schema(description = "是否兼职辅导员(0=否,1=是)")
    private Integer isPartInstructor;

    @Schema(description = "是否专职心理健康教师(0=否,1=是)")
    private Integer isSpecialPsychology;

    @Schema(description = "是否兼职心理健康教师(0=否,1=是)")
    private Integer isPartPsychology;

    @Schema(description = "是否为专业带头人(0=否,1=是)")
    private Integer isMajorHead;

    @Schema(description = "备注信息")
    private String remark;

    @Schema(description = "状态(0=离职,1=在职,2=待岗)")
    private Integer status;

    @Schema(description = "创建时间")
    private String createTime;

    @Schema(description = "更新时间")
    private String updateTime;

    //===========================================
    //任务总数
    @Schema(description = "任务总数")
    private String taskCount;

    //===========================================
    /**
     * token
     */
    @Schema(description = "token")
    private String token;



}
